package com.wlx.auth.service;

import com.alibaba.fastjson.JSONObject;
import com.wlx.common.mongodb.MongoDTO;
import com.wlx.common.mongodb.MongoDbResult;
import com.wlx.system.api.model.CustomLoginUser;

import java.util.List;

/**
 * 用户 业务层
 *
 * @author wlx
 */
public interface PortalUserService {

    /**
     * 手机验证码登录
     *
     * @param customLoginUser
     * @return
     */
    CustomLoginUser phoneLogin(CustomLoginUser customLoginUser);

    /**
     * 手机验证码注册
     *
     * @param customLoginUser
     * @return
     */
    CustomLoginUser phoneRegister(CustomLoginUser customLoginUser);

    /**
     * 測試
     *
     * @param mongoDTO
     */
    MongoDbResult queryPageByParam(MongoDTO mongoDTO);

    /**
     * 查询指定用户信息
     *
     * @param userUuid 用户uuid
     * @return
     */
    JSONObject searchOne(String userUuid);

    /**
     * 修改指定用户状态（用户）
     *
     * @param userUuid 用户uuid
     * @param status   待修改用户状态
     */
    void updateOne(String userUuid, String status);

    /**
     * 删除指定用户信息
     *
     * @param userUuid 用户uuid
     */
    void deleteOne(String userUuid);

    /**
     * 聚合查询
     *
     * @param uuid 待查询的主键uuid
     * @return
     */
    List<JSONObject> queryAggregate(String uuid);

    List<JSONObject> queryTest();
}
